"""
'位与'运算:
    当两个二进制的数进行运算时，对应位都为1时，结果才为1
"""
print('位与:&',12&8)
"""
'位或'运算:
    当两个二进制的数进行运算，对应数只有都为0时,结果数才为0.
"""
print('位或:|',12|8)
"""
'位异或'运算:
    当两个对应数都为1或0时，结果数为0，其他情况时为1.
"""
print('位异或:^',4^12)
"""
'位取反'运算:
    对应数是1时，结果为0，对应数为0时，结果为1.
"""
print('位取反:~',~12)

"""
左移位运算:
    将二进制整体向左移动,高位溢出，低位补0
    左移位运算相当与2的n(n=1,2,3,·····)次方
"""
print('左移',3<<2) # 将3向左移动两位
"""
右移位运算:
    将二进制整体向右移动,低位溢出，高位补0
    左移位运算相当与2的n(n=1,2,3,·····)次方
"""
print('右移位',3>>2) # 将3向右移动两位

